﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public class GestionFgut
    {

        public bool validarEmail(string email)
        {
            String expresion; expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
            if (Regex.IsMatch(email, expresion))
            {
                if (Regex.Replace(email, expresion, String.Empty).Length == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        Conexion conn = new Conexion();
        public string digitoVerificador(int rut)
        {
            int Digito;
            int Contador;
            int Multiplo;
            int Acumulador;
            string RutDigito;

            Contador = 2;
            Acumulador = 0;

            while (rut != 0)
            {
                Multiplo = (rut % 10) * Contador;
                Acumulador = Acumulador + Multiplo;
                rut = rut / 10;
                Contador = Contador + 1;
                if (Contador == 8)
                {
                    Contador = 2;
                }

            }

            Digito = 11 - (Acumulador % 11);
            RutDigito = Digito.ToString().Trim();
            if (Digito == 10)
            {
                RutDigito = "K";
            }
            if (Digito == 11)
            {
                RutDigito = "0";
            }
            return (RutDigito);
        }

        public void buscarAlumnos(int rut)
        {
            SqlDataReader dr;
            Conexion conn = new Conexion();
            conn.conectar();
            try
            {
                string sql = "SELECT * FROM ALUMNO WHERE RUT='" + rut + "'";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                dr = cmd.ExecuteReader();

            }
            catch (SqlException ex)
            {
                string a = ex.Message;// MessageBox.Show("el dato ya tiene una relacion existente!");

            }

            conn.desconectar();

        }
        public string ActualizarAlumno(string fechanac, string nombre, string sexo, int telefono, int celular, string email, string avisar, string direc, int tel, int cel, string correo, string sangre, string alerg, string prev, int peso, int estatura, int calzado, string talla, string buzo, int convenio, string rut)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un update

                string sql = "UPDATE Alumno SET fecha_nac='" + fechanac + "',nombre='" + nombre + "',sexo='" + sexo + "',telefono='" + telefono + "',celular='" + celular + "',email='" + email + "',nombre_emerg='" + avisar + "',direccion_emerg='" + direc + "',telefono_emerg='" + tel + "',celu_emerg='" + cel + "',email_emerg='" + correo + "',grupo_sangre='" + sangre + "',alergico='" + alerg + "',prevision='" + prev + "',estatura='" + estatura + "',peso='" + peso + "',num_calzado='" + calzado + "',talla_traje='" + talla + "',talla_buzo='" + buzo + "' where rut='" + rut + "'";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();
                msg = "Alumno Actualizado";
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
            }
            conn.desconectar();

            return msg;
        }

        public bool ExisteAlumno(string rut)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT COUNT(*) FROM alumno WHERE rut='" + rut + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            int count = Convert.ToInt32(cmd.ExecuteScalar());
            if (count == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
            //msg = "Trabajo Finalizado";

        }

        public void Limpiar(GroupBox ofrm)
        {
            // Checar todos los textbox del formulario
            foreach (Control oControls in ofrm.Controls)
            {
                if (oControls is TextBox)
                {
                    oControls.Text = ""; // Eliminar el texto del TextBox
                }
            }
        }

        public void eliminar(string rut)
        {
            conn.conectar();
            SqlDataAdapter da = new SqlDataAdapter();
            da.DeleteCommand = new SqlCommand("DELETE FROM ALUMNO WHERE rut=@cod", conn.conector);
            da.DeleteCommand.Parameters.Add(new SqlParameter("@cod", rut));
            da.DeleteCommand.ExecuteNonQuery();
            conn.desconectar();
        }

     
        public string Bloquear(string rut)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un update

                string sql = "Update Alumno set estado='NO PAGADO' where rut='"+rut+"'";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();
                
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
            }
            conn.desconectar();
            return msg;
        }
        public string desBloquear(string rut)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            string msg = "";
            try
            {
                //crear el objeto para realizar un update

                string sql = "Update Alumno set estado='PAGADO' where rut='" + rut + "'";
                SqlCommand cmd = new SqlCommand(sql, conn.conector);
                cmd.ExecuteNonQuery();

            }
            catch (SqlException ex)
            {
                msg = ex.Message;
            }
            conn.desconectar();
            return msg;
        }
        public string verificarEstado(string rut)
        {
            Conexion conn = new Conexion();
            conn.conectar();
            //string msg = "";

            string sql = "SELECT estado FROM alumno where rut='" + rut + "'";
            SqlCommand cmd = new SqlCommand(sql, conn.conector);
            //cmd.ExecuteNonQuery();
            string estado = Convert.ToString(cmd.ExecuteScalar());
            return estado;
        }
    }



}
